package cn.zjyj.module.zjyj.controller.admin.device.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import com.alibaba.excel.annotation.*;

@Schema(description = "管理后台 - 设备 Response VO")
@Data
@ExcelIgnoreUnannotated
public class DeviceRespVO {

    @Schema(description = "主键id", requiredMode = Schema.RequiredMode.REQUIRED, example = "29940")
    @ExcelProperty("主键id")
    private Long id;

    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("创建时间")
    private LocalDateTime createTime;

    @Schema(description = "名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "李四")
    @ExcelProperty("名称")
    private String name;

    @Schema(description = "供应商id", requiredMode = Schema.RequiredMode.REQUIRED, example = "1690")
    @ExcelProperty("供应商id")
    private Long supplierId;

    @Schema(description = "设备组id", requiredMode = Schema.RequiredMode.REQUIRED, example = "30501")
    @ExcelProperty("设备组id")
    private Long groupId;

    @Schema(description = "品牌", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("品牌")
    private String brand;

    @Schema(description = "型号", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("型号")
    private String model;

    @Schema(description = "设备规格", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("设备规格")
    private String specification;

    @Schema(description = "是否特种设备", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("是否特种设备")
    private Integer isSpecialEquipment;

    @Schema(description = "使用描述", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("使用描述")
    private String useDescribe;

    @Schema(description = "是否需要检修", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("是否需要检修")
    private Integer isNeedRepair;

    @Schema(description = "检修周期，单位：天", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("检修周期，单位：天")
    private Integer repairCycle;

    @Schema(description = "检修许可证", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("检修许可证")
    private String repairPermitCard;

    @Schema(description = "检修原因", requiredMode = Schema.RequiredMode.REQUIRED, example = "不香")
    @ExcelProperty("检修原因")
    private String repairReason;

    @Schema(description = "是否需要维护", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("是否需要维护")
    private Integer isNeedMaintain;

    @Schema(description = "维护周期，单位：天", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("维护周期，单位：天")
    private Integer maintainCycle;

    @Schema(description = "是否需要计量", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("是否需要计量")
    private Integer isNeedFitMetering;

    @Schema(description = "计量周期，单位：天", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("计量周期，单位：天")
    private Integer fitMeteringCycle;

}